<?
include("Grid.class.php");
include("DB/DataBase.class.php");
include("GridSource.class.php");
include("GridPresenter.class.php");


$date = Database::ExecuteQuery("SELECT fecha FROM reservaciones LIMIT 0,1");
$concat = Database::ExecuteQuery("SELECT CONCAT(sum(nadultos), '.', sum(nninios)) FROM reservaciones WHERE id = 7");

#echo $d = $date[0][0];
#echo strlen($d);
/*
echo " ";
echo $c = $concat[0][0];
echo "<br/>";
echo $sum = $d+$c;

if(is_float($c))
	echo	"true";
else
	echo "false";
*/
$sql = "
 SELECT resultados.Agencias                            ,
  SUM(resultados.AdultosTour1)'Adultos Mayan Adventure',
  SUM(resultados.NiniosTour1) 'Niños Mayan Adventure'  ,
  SUM(resultados.AdultosTour2) 'Adultos Tulum Xtreme'  ,
  SUM(resultados.NiniosTour2) 'Niños Tulum Xtreme'     ,
  SUM(resultados.AdultosTour3)'Adultos Mayan Xtreme'   ,
  SUM(resultados.NiniosTour3) 'Niños Mayan Xtreme'     ,
  SUM(resultados.AdultosTour4) 'Adultos Xtreme Yalku'  ,
  SUM(resultados.NiniosTour4) 'Niños Xtreme Yalku'     ,
  resultados.Fecha                                     ,
  resultados.Tipo                                      ,
  resultados.Status
   FROM
  (SELECT a.nombre Agencias      ,
    SUM(r.nAdultos) AdultosTour1 ,
    SUM(r.nNinios) NiniosTour1   ,
    0 AdultosTour2               ,
    0 NiniosTour2                ,
    0 AdultosTour3               ,
    0 NiniosTour3                ,
    0 AdultosTour4               ,
    0 NiniosTour4                ,
    r.fecha Fecha                ,
    tr.nombre Tipo               ,
    rs.nombre status
     FROM agencias a       ,
    reservaciones r        ,
    tipos_reservaciones tr ,
    tours t                ,
    reservaciones_statuses rs
    WHERE tr.id   = r.tipo
  AND r.idAgencia = a.id
  AND t.id        = r.idTour
  AND t.id        = 1
  AND r.status    = rs.id
  AND r.fecha BETWEEN '20090101' AND '20090131'
  AND r.status IN (1,2,3,4)
  AND r.tipo   IN (1,2,3,4)
 GROUP BY a.nombre,
    t.nombre      ,
    r.fecha       ,
    tr.nombre     ,
    rs.nombre
    
    UNION
   
   SELECT a.nombre Agencias      ,
    0 AdultosTour1               ,
    0 NiniosTour1                ,
    SUM(r.nAdultos) AdultosTour2 ,
    SUM(r.nNinios) NiniosTour2   ,
    0 AdultosTour3               ,
    0 NiniosTour3                ,
    0 AdultosTour4               ,
    0 NiniosTour4                ,
    r.fecha Fecha                ,
    tr.nombre Tipo               ,
    rs.nombre status
     FROM agencias a       ,
    reservaciones r        ,
    tipos_reservaciones tr ,
    tours t                ,
    reservaciones_statuses rs
    WHERE tr.id   = r.tipo
  AND r.idAgencia = a.id
  AND t.id        = r.idTour
  AND t.id        = 2
  AND r.status    = rs.id
  AND r.fecha BETWEEN '20090101' AND '20090131'
  AND r.status IN (1,2,3,4)
  AND r.tipo   IN (1,2,3,4)
 GROUP BY a.nombre,
    t.nombre      ,
    r.fecha       ,
    tr.nombre     ,
    rs.nombre
    
    UNION
   
   SELECT a.nombre Agencias      ,
    0 AdultosTour1               ,
    0 NiniosTour1                ,
    0 AdultosTour2               ,
    0 NiniosTour2                ,
    SUM(r.nAdultos) AdultosTour3 ,
    SUM(r.nNinios) NiniosTour3   ,
    0 AdultosTour4               ,
    0 NiniosTour4                ,
    r.fecha Fecha                ,
    tr.nombre Tipo               ,
    rs.nombre status
     FROM agencias a       ,
    reservaciones r        ,
    tipos_reservaciones tr ,
    tours t                ,
    reservaciones_statuses rs
    WHERE tr.id   = r.tipo
  AND r.idAgencia = a.id
  AND t.id        = r.idTour
  AND t.id        = 3
  AND r.status    = rs.id
  AND r.fecha BETWEEN '20090101' AND '20090131'
  AND r.status IN (1,2,3,4)
  AND r.tipo   IN (1,2,3,4)
 GROUP BY a.nombre,
    t.nombre      ,
    r.fecha       ,
    tr.nombre     ,
    rs.nombre
    
    UNION
   
   SELECT a.nombre Agencias      ,
    0 AdultosTour1               ,
    0 NiniosTour1                ,
    0 AdultosTour2               ,
    0 NiniosTour2                ,
    0 AdultosTour3               ,
    0 NiniosTour3                ,
    SUM(r.nAdultos) AdultosTour4 ,
    SUM(r.nNinios) NiniosTour4   ,
    r.fecha Fecha                ,
    tr.nombre Tipo               ,
    rs.nombre status
     FROM agencias a       ,
    reservaciones r        ,
    tipos_reservaciones tr ,
    tours t                ,
    reservaciones_statuses rs
    WHERE tr.id   = r.tipo
  AND r.idAgencia = a.id
  AND t.id        = r.idTour
  AND t.id        = 4
  AND r.status    = rs.id
  AND r.fecha BETWEEN '20090101' AND '20090131'
  AND r.status IN (1,2,3,4)
  AND r.tipo   IN (1,2,3,4)
 GROUP BY a.nombre,
    t.nombre      ,
    r.fecha       ,
    tr.nombre     ,
    rs.nombre
  ) resultados
GROUP BY resultados.Agencias,
  resultados.Fecha          ,
  resultados.Tipo ";
#"  LIMIT 0,5";
$g = new Grid();
GridDataSource::Fill($g, $sql);




#$g->AppendRowsTotal();
$total_adultos = array(1,3,5,7);
$total_ninios = array(2,4,6,8);

#$g->SpecialRowTotal($g->grid[1], $total_adultos);
$g->AppendSpecialRowsTotal($total_adultos);
$g->AppendSpecialRowsTotal($total_ninios);
#--------------------------------
$g->AppendColumnTotal(1);
$g->AppendColumnTotal(2);
$g->AppendColumnTotal(3);
$g->AppendColumnTotal(4);
$g->AppendColumnTotal(5);
$g->AppendColumnTotal(6);
$g->AppendColumnTotal(7);
$g->AppendColumnTotal(8);
$g->AppendColumnTotal(12);
$g->AppendColumnTotal(13);

#$g->walk();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Report Layout</title>


<style>
body {
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
}

thead {
	background-color:#BFDBFF;
	color:#204D89;
}

table{

}

.totals {
	background-color:#666666;
	color:#FFF;
}

.selectedRow{
	background-color:#D2E4F6;
}
</style>


</head>

<body>

<?
$LAST_ROW = $g->LastRowIndex();
$g->grid[0][12] = "Totales Adultos";
$g->grid[0][13] = "Totales Niños";
$g->grid[$g->LAST_ROW][0] = "Totales";
$g->grid[$LAST_ROW][9] = "&nbsp;";
$g->grid[$LAST_ROW][10] = "&nbsp;";
$g->grid[$LAST_ROW][11] = "&nbsp;";
ksort($g->grid[$LAST_ROW]);
echo GridPresenter::GetHTMLReport($g->grid);
#echo GridPresenter::GetHTMLTable($g->grid);


?>
</body>
</html>
